package com.hzqx.syndata.util;

import java.util.Base64;

/**
 * 测试base64
 * 加密与解密算法，java8  自带包
 * @author yinzhiping
 */
@SuppressWarnings("all")
public class Base64FzUtil {
    private static final String SALT="mldnjava";  //公共的盐值
    private static final int REPEAT=5;     //加密次数

    public static String encode(String str) {       //加密处理

        String temp=str+"{"+SALT+"}";				//盐值对外不公布
        byte data[]=temp.getBytes();				//将字符串变为字节数组
        for(int x=0;x<REPEAT;x++)
            data=Base64.getEncoder().encode(data);  //重复加密
        return new String(data);       //返回加密后的内容
    }

    public static String decode(String str) {
        byte data[]=str.getBytes();					//获取加密内容
        for(int x=0;x<REPEAT;x++)
            data= Base64.getDecoder().decode(data);  //多次解密
        return new String(data).replaceAll("\\{\\w+\\}","");  //删除盐值格式
    }

}
